package com.bytz.modules.cms.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bytz.modules.cms.order.entity.Order;
import com.bytz.modules.cms.order.entity.OrderItem;

import java.util.List;

public interface IOrderContractService extends IService<Order> {

    /**
     * 根据订单id生成合同
     *
     * @param orderId 订单id
     * @return 生成的合同文件字符串
     */
    String generateContract(String orderId) throws Exception;

    /**
     * 根据订单和订单item生成合同
     *
     * @param order 订单
     * @param items 订单item
     * @return 生成的合同文件字符串
     */
    String generateContract(Order order, List<OrderItem> items) throws Exception;

    /**
     * 查找所有状态为待盖章、合同为空的订单同步shipTo并生成合同
     */
    void batchGenerate();
}
